package com.xuecheng.content.service;

import com.xuecheng.content.dto.AddCourseDto;
import com.xuecheng.content.dto.CourseBaseInfoDto;
import com.xuecheng.content.dto.EditCourseDto;
import com.xuecheng.content.dto.QueryCourseParamsDto;
import com.xuecheng.content.entity.CourseBase;
import com.xuecheng.dto.PageParamsDto;
import com.xuecheng.dto.PageResult;

/**
 * @project xuecheng_project
 * @description :课程信息管理接口
 * @author CG
 * @version 1.0
 **/
public interface CourseBaseInfoService {
    
    /**
     * @description 课程分页查询
     * @param pageParamsDto:分页查询参数
     * @param queryCourseParamsDto：查询条件
     * @return：查询结果
     **/
    public PageResult<CourseBase> queryCourseBaseList(PageParamsDto pageParamsDto, QueryCourseParamsDto queryCourseParamsDto);


    /**
     * @description 新增课程
     * @param companyId :机构Id
     * @param addCourseDto:课程信息
     * @return :CourseBaseInfoDto，课程添加成功后的详细信息
     **/
    public CourseBaseInfoDto createCourseBase(Long companyId,AddCourseDto addCourseDto);


    /**
     * @description 根据id查询课程信息
     * @param courseId
     * @return :CourseBaseInfoDto
     **/
    public CourseBaseInfoDto getCourseBaseInfo(Long courseId);


    /**
     * @description 修改课程信息
     * @param companyId：机构ID
     * @param editCourseDto:要修改的信息
     * @return :修改完后的完整信息
     **/
    public CourseBaseInfoDto updateCourseBase(Long companyId, EditCourseDto editCourseDto);
}
